#ifndef _DEVICE_H
#define _DEVICE_H

#include "sn_config.h"

struct mod_dev_t
{
    uint8_t dev_flag; //设备 0 表示设备关机 >1 表示设备开机 
    uint8_t (*hal_open)(void);
    uint8_t (*hal_close)(void);
    int (*set_power)(struct mod_dev_t *dev,uint8_t value);
    /**
     * @brief 获取设备状态
     * 
     * @param dev 
     * @return uint8_t 
     */
    uint8_t (*get_dev_state)(struct mod_dev_t *dev);
};

/**
 * @brief 模块设备控制初始化
 * 
 * @param dev 
 * @return int 
 */
int mod_device_init(struct mod_dev_t **dev);



#endif // !_DEVICE_H



